# 查找是否有同名文件
import os


def get_filenames_without_extension(directory):
    """返回目录中所有文件的文件名列表（不带扩展名）"""
    filenames = [os.path.splitext(f)[0] for f in os.listdir(directory) if os.path.isfile(os.path.join(directory, f))]
    return set(filenames)


def main(dir1, dir2):
    filenames_dir1 = get_filenames_without_extension(dir1)
    filenames_dir2 = get_filenames_without_extension(dir2)

    # 获取在dir1中但不在dir2中的文件名
    unique_to_dir1 = filenames_dir1 - filenames_dir2
    # 获取在dir2中但不在dir1中的文件名
    unique_to_dir2 = filenames_dir2 - filenames_dir1

    if unique_to_dir1:
        print("以下文件名只在第一个文件夹中存在（忽略扩展名）：")
        for name in unique_to_dir1:
            print(name)

    if unique_to_dir2:
        print("\n以下文件名只在第二个文件夹中存在（忽略扩展名）：")
        for name in unique_to_dir2:
            print(name)

    if not unique_to_dir1 and not unique_to_dir2:
        print("两个文件夹中的文件名都是相同的（忽略扩展名）。")


if __name__ == "__main__":
    directory1 = "E:\Dataset\sumdata(yes)/add_train_labels"
    directory2 = "E:\Dataset\sumdata(yes)/add_train"
    main(directory1, directory2)



